package demo06;

/**
 * 利用getXxxx以及SetXxx来为Person类中的属性设置值和取值
 * 当成员变量名和局部变量名重名的时候,我们可以用this关键字来区分
 * 通过this.成员变量
 *
 * this的作用:
 *  1.当成员变量和局部变量重名的时候,this可以用来区分成员变量和局部变量
 *  2.方法中this会指向调用该方法的那个对象
 */
public class Person {
    private String name;
    private int age;

    /*setName和getName*/
    /*
    * 为了让形参名更加见名知意,我们不使用
    * n变量名作为方法形参,我们就用name
    * */
    public void setName(String name){//String name="三丰"
        //name=name;//变量的使用遵循就近原则,相当于方法上的name赋值给了自身
                 //这两个name都是方法上的name,没有将三丰赋值到成员变量name
                //成员变量name值还是默认值
        //System.out.println(this);
        this.name=name;//this.name会使用成员变量
    }

    public String getName() {
        return name;
       // return this.name;//即使不写this,默认也有this
    }

    /*setAge和getAge*/
    public void setAge(int age) {//和setName的情况的相同
        //age=age;
        this.age=age;//this.age会使用成员变量
    }

    public int getAge() {
        return age;
    }
}
